package com.juliansci.service.impl;

import com.juliansci.dao.UsuarioDao;
import com.juliansci.domain.Usuario;
import com.juliansci.dto.UsuarioDTO;
import com.juliansci.service.UsuarioService;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

/**
 * @author juliansci
 */
@Service
@Transactional
public class UsuarioServiceImpl implements UsuarioService {

    @Autowired
    private UsuarioDao usuarioDao;

    @Override
    public Usuario obtenerPorId(Long id) {
        return usuarioDao.findOne(id);
    }

    @Override
    public UsuarioDTO obtenerTodos() {
         Iterator<Usuario> iteradorUsuarios = usuarioDao.findAll().iterator();
         UsuarioDTO usuarioDTO = new UsuarioDTO();
         List<Usuario> listaUsuarios = new ArrayList<Usuario>();
         while(iteradorUsuarios.hasNext()){
             listaUsuarios.add(iteradorUsuarios.next());
         }
         
         usuarioDTO.setListaUsuarios(listaUsuarios);
         return usuarioDTO;
    }

    @Override
    public void crear(Usuario usuario) {
        usuarioDao.save(usuario);
    }

}
